The Internet Protocol (“IP”) is an addressing protocol designed to route traffic within a network or between networks. The Internet Protocol is used on many computer networks including the Internet, intranets and other networks. Internet Protocol addresses are typically assigned to “immobile” nodes on a network. An immobile node may be moved to a different computer network, but is typically associated with a static physical location (e.g., 3Com Corporation in Santa Clara, Calif.) and an immobile Internet protocol address.
The Mobile Internet Protocol (hereinafter Mobile IP) allows “mobile” nodes to transparently move between different Internet Protocol sub-networks (“subnets”). Internet Protocol addresses are typically assigned to mobile nodes based on their home Internet Protocol subnet. The home subnet is connected to an external network (e.g., the Internet or an intranet) with a “home agent” that serves as the subnet's gateway router. As is known in the art, the gateway connects computer networks using different networking protocols or operating at different transmission capacities. As is known in the art, a router translates differences between network protocols and routes data packets to an appropriate network node or network device.
When a mobile node “roams” (i.e., dynamically changes its physical location), it periodically transmits “agent solicitation” messages to other gateway routers. A mobile node also listens for “agent advertisement” messages from other gateway routers. When a mobile node receives an agent advertisement message indicating that it is now on a foreign subnet, it registers with the foreign gateway router or “foreign agent” and its home agent. The registration with the home agent indicates that the mobile node is away from “home” (i.e., away from its home subnet). The registration with the foreign agent allows the mobile node to receive data on the foreign subnet.
The Mobile Internet Protocol allows a mobile node to dynamically change its network connectivity in a manner that is transparent to protocol layers above the Internet Protocol layer, for example, without re-establishing Transmission Control Protocol (“TCP”) or User Datagram Protocol (“UDP”) sessions. As is known in the art, Transmission Control Protocol and User Datagram Protocol are often used over Internet Protocol in computer networks. Transmission Control Protocol provides a connection-oriented, end-to-end reliable protocol designed to fit into a layer hierarchy of protocols that support multi-network applications. User Datagram Protocol provides a transaction oriented datagram protocol, where delivery and duplicate packet protection are not guaranteed.
It is often desirable to establish a voice, video and/or data call from a mobile node that has roamed from its home network to a foreign network. Such a voice, video or data call is typically established using call control and other protocols such as Session Initiation Protocol (“SIP”), H.323, Authentication, Authorization and Accounting (“AAA”), e.g., for billing, Domain Name System (“DNS”), e.g., for IP address decoding, etc.
A mobile node registers with its home agent using a Mobile IP Registration Request message. As a result, its home agent can create or modify a mobility binding record for that mobile node. A mobility binding record is used to keep track of mobile communications information such as a home network address of a mobile node on a home network, a care-of-address for the mobile node on a foreign network, a lifetime timer for the association between the home network address and the care-of-network address, and other types of mobile communication information.
Mobile Internet Protocol requires link layer connectivity between a mobile node and a foreign agent. However, in some systems, the link layer from the mobile node may terminate at a point distant from a foreign agent. Such networks are commonly referred to as third generation (“3G”) networks. Third-generation networks support data rates ranging from 144K bits-per-second to 2M bits-per-second, packet switched services including IP traffic, multimedia services including video conferencing and streaming video, or international roaming among different third generation operating environments. Third generation networks include packet-based transmission of digitalized voice, data and video, and encompass a range of wireless technologies including Code Division Multiple Access (“CDMA”), Universal Mobile Telecommunications Service (“UMTS”), Wide-band CDMA (“WCDMA”) and others.
As is known in the art, CDMA is a digital communications technology that uses spread-spectrum communication techniques. CDMA does not assign a specific frequency to each user instead, every CDMA communication channel can use the full available communications spectrum, and individual conversations are encoded with a pseudo-random digital sequence.
UMTS is a third generation technology that delivers broadband information at speeds up to 2M bps. Besides voice and data, UMTS delivers audio and video to wireless devices anywhere in the world through fixed, wireless and satellite systems.
WCDMA is an International Telecommunications Unit (“ITU”) standard derived from the code division multiple access and offers high data speeds to mobile devices. WCDMA supports mobile/portable voice, images, data, and video communications at up to 2M bps. The input signals are digitalized and transmitted in coded, spread-spectrum mode over a broad range of frequencies using a 5 MHz-wide carrier compared with 200 kHz-wide carrier that is used for narrowband CDMA.
FIG. 1 is a block diagram illustrating a network architecture that may be used in a third generation wireless network. Referring to FIG. 1, a mobile node communicates with a target host 34 on an IP network 30 by means of three devices, a radio network node 16, a packet data serving node 18 (i.e., a foreign agent), and a home agent node 24. The physical layer of the mobile node 10 terminates on the radio network node 16, and the foreign agent's functionality resides on the packet data serving node 18. The radio network node 16 may relay link layer protocol data between the mobile node 10 and the packet data serving node 18, and the packet data serving node 18 establishes, maintains and terminates the link layer to the mobile node 10. For example, the mobile node 10 may be linked to the radio network node 16 via a communication link on a radio access network.
The packet data serving node 18 provides routing services for the mobile node 10 while it is registered with the home agent 24. The packet data serving node 18 de-tunnels and delivers datagrams that were tunneled from the home agent node 24 via an IP network 20 to the mobile node 10. The communication traffic exchanged between the packet data serving node 16 and the home agent 24 includes data traffic as well as control traffic. The control traffic includes registration request and registration reply messages, for instance. The control traffic terminates at the home agent 24 and the packet data serving node 16, while the data traffic is routed between the mobile node 10 and the target host 34. The target host 34 may be connected to a home network 26 by any number of networks, such as the IP networks 20 and 30, or it may be directly located on the home network 26. Alternatively, the target host 34 may be connected to the home network by other types of packet switched networks.
The home agent 24 may be implemented on a router on the mobile node's home network 26, and maintains current location information data, such as a network address of the packet data serving node 16, a mobile home network address assigned to the mobile node 10, and a secret key that is shared between the home agent 24 and the mobile node 10. In one embodiment, a tunnel may be established between the home agent 24 and the packet data serving node 16, and the home agent 24 and the packet data serving node 16 may communicate data via the established tunnel. For example, the home agent 24 and the packet data serving node 16 may establish a point-to-point tunnel using a Layer 2 Tunneling Protocol (“L2TP”). More information on L2TP may be found in a Request For Comments (“RFC”), RFC-2661, currently available at www.ietf.org.
The home agent 24 performs two different tasks for the mobile node 10. First, the home agent 24 performs a registration and authentication process to determine if the mobile node 10 is authorized on the home network 26. The authentication process may involve checking identification of the mobile node 10, such as through the use of the mobile node's unique serial number or manufacturing number, password authentication, and possibly checking if the mobile node's account is current and paid. The home agent's registration and authentication functions may be performed in conjunction with, or with the assistance of, a second device, such as an authentication, authorization, and accounting server, such as a Remote Authentication Dial-In User Service (“RADIUS”) server. More information on the RADIUS server may be found in the RFC-2138.
The packet data serving node 28 also performs two distinct tasks for the mobile node 10. The packet data serving node 28 handles registration and session control for the mobile node 10, including sending registration request messages to the home agent 24, and processing registration response messages received from the home agent 24. Additionally, the packet data serving node 28 has tunneling capabilities for forwarding data packets from the home agent 24 for ultimate transmission to the target host 34, as well as de-tunneling data from the home agent 24 for ultimate delivery to the mobile node 10. The packet data serving node 28 may perform authentication, authorization and accounting functions in conjunction with, or with the assistance of, an authorization, authorization, and accounting server, such as the RADIUS server.
When the mobile node 10 initiates a communication session with the radio network node 16 by sending, for instance, a call setup indication to the radio network node 16 across a radio communication link, the radio network node 16 initiates a registration process with the packet data serving node 18. The radio network node 16 may be configured with a number of packet data serving nodes' network addresses, and the radio network node 16 may randomly select one of the packet data serving nodes to serve the mobile node 10.
According to one existing method, a radio network node may include a packet control function (“PCF”) that may calculate a hash value based on, for instance, an International Phone Subscriber Interface (such as a phone number) of a mobile node, and the calculated hash may be used to select a packet data serving node's IP address. According to another alternative method, the packet control function may employ a round robin mechanism to select a packet data serving node. In such an embodiment, the packet control function may assign each subsequent arriving session to the next packet data serving node in its list, wrapping around to the first packet data serving node when the last packet data serving node is reached. The round robin mechanism distributes calls between packet data serving nodes; however, it does not take into account the type of call sessions being forwarded to each packet data serving node, for instance.
Therefore, some of the problems associated with the existing prior art mobile IP networks concern inefficient selection of packet data serving nodes by radio network nodes. For example, when a radio network node selects a packet data serving node, the radio network node does not have any load information of the selected packet data serving node. Therefore, using such a selection scheme, if the selected packet data serving node is overloaded, it may reject a registration request from the mobile node 10, thus, resulting in service delays for the mobile node 10.
To overcome problems associated with packet data serving node selection by radio nodes, an external foreign agent control node may be used to select a packet data serving node, and the selection may be based on memory usage, or processing power usage of the packet data serving node, for instance. The functionality of the foreign agent control node is described in the pending U.S. patent application Ser. No. 09/881,649 entitled “System and Method for Managing Foreign Agent Selections in a Mobile Internet Protocol Network,” the entire content of which is incorporated herein by reference. While the foreign agent control node provides load balancing mechanisms during selection of packet data serving nodes, there are several limitations to its current architecture. Using the current architecture, each PDSN may communicate with two foreign agent control nodes, which are completely independent. However, if a foreign agent control node fails while a mobile node is registered at a packet data serving node, the foreign agent control node loses a network address of the packet data serving node assigned to the mobile node, even after the foreign agent control node reboots. Thus, if the mobile node roams and a packet control function handoff occurs and the newly rebooted foreign agent control node is chosen, most likely, the foreign agent control node will assign the mobile node to a different packet data serving node, which would result in a hard handoff and the associated latency of a Point-to-Point Protocol (“PPP”) negotiations.
Thus, there is a need for improved system and method for foreign agent control node redundancy.